package com.ccp.dev.system.dao;
import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.system.model.MessageReceiver;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
 * 消息接收者 Dao层
 *
 * @author csx
 * @date 2012-11-29 16:24:35
 */
@Repository
public interface MessageReceiverDao extends IBaseMapper<MessageReceiver,String>
{

	/**
	 * 查询某个用户的接收消息
	 * 
	 * @param
	 * @return 返回查询某个用户的接收的消息
	 */
	public List<MessageReceiver> getAll(@Param("messageId")String messageId);

	/**
	 * 删除某个用户的接收消息
	 *
	 * @param
	 */
	void delByUserId(@Param("userId")String userId,@Param("id")String id);

	/**
	 * 根据信息Id查询接收此信息的接收信息
	 * @param
	 * @return 返回根据信息Id查询接收此信息的接收信息
	 */
	List<MessageReceiver> getByMessageId(@Param("messageId")String messageId);

	/**
	 * 根据信息Id和接收Id查询接收信息
	 * @param
	 * @return 返回根据信息Id和接收Id查询到的接收信息
	 */
	MessageReceiver	getByMessageIdAndReceiverId(@Param("messageId")String messageId,@Param("receiverId")String receiverId);

	/**
	 * 根据信息ID撤销接收消息，进行删除
	 * @param messageId
	 */
    void delByMessageId(String messageId);

	/**
	 * 获取一分钟内收到的消息
	 * @return
	 */
	int needPopupRemind(String userId);
}